// var VandB = require('VandB');
var fs =require('fs');
var config = require('../config')

var adminDB = {
	findVandU:function(req, type, callback){
		var user = new Array()
		req.VandB.find({
			'type':type,
			'pass':false
		}).limit(20).toArray(function(err, result){
			if (err) {
				callback({
					status:400,
					dt:err
				})
			} else {
				result.forEach(function(values, index){
					user.push(req.dbid(values.upUser))
				})
				req.users.find({
					'_id':{
						'$in':user
					}},{
						_id:1,
						name:1
					}).toArray(function(err, items){
						if (err) {
							callback({status:400,dt:err})
						} else {
							for (var i = 0; i < result.length; i++) {
								for (var j = 0; j < items.length; j++) {
									if (result[i].upUser == (items[j]._id + '')) {
										result[i].upUser = items[j];
									}
								}
							}
							callback({status:200, dt:result})
						}
					})
			}
		})
	},
	findAdmin:function(req, name, callback){
		req.admin.find({
			'name':name
		}).toArray(function(err, items){
			if (err) {

			} else {
				callback(items[0])
			}
		})
	},
	insertAdmin:function(req, obj, callback){
		req.admin.insert(obj, function(err, result){
			if (err) {
				callback({status:400,dt:err});
			} else {
				callback({status:200,dt:'success'});
			}
		})
	},
	findUserArr:function(req, seal, callback){
		req.users.find({
			'seal':seal
		}).limit(20).toArray(function(err, result){
			if (err) {
				callback({
					status:400,
					dt:err
				})
			} else {
				callback({
					status:200,
					dt:result
				})
			}
		})
	},
	delete:function(req, type, id, path, callback){
		req.VandB.removeById(id, function(err, result){
			if (err) {
				callback({status:400, dt:err})
			} else {
				fs.unlink(path, function(err){
					if (err) {
						callback({status:400, dt:err})
					} else {
						callback({status:200, dt:'delete success'})
					}
				})
			}
		})
	},
	pass:function(req, type, id, callback){
		req.VandB.updateById(id, {
			$set:{
				'pass':true
			}
		}, function(err, result){
			if (err) {
				callback({status:400, dt:err})
			} else {
				callback({status:200, dt:'pass'})
			}
		})
	},
	seal:function(req, id, newSeal, callback){
		req.users.updateById(id, {
			$set:{
				'seal':newSeal
			}
		}, function(err, result){
			if (err) {
				callback({status:400, dt:err})
			} else {
				callback({status:200, dt:'成功'})
			}
		})
	}
}

module.exports = adminDB;